home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 7 / FM Towns Free Software Collection 7.iso / fb386 / dsystem / move.bas < prev    next >
BASIC Source File  |  1993-11-30  |  2KB  |  88 lines

  1. 10000 '
  2. 10010 ' 移動時パッドスキャンモジュール
  3. 10020 '
  4. 10030 ' MOVE.BAS
  5. 10040 '
  6. 10050 *パッドスキャン
  7. 10060 '
  8. 10070 WAIT WA:P=PAD(1):PT=PTRIG(1)
  9. 10080 IF P=0 AND PT=0 THEN *パッドスキャン
  10. 10090 IF P<>1 AND P<>3 AND P<>5 AND P<>7 AND PT<>1 AND PT<>4 THEN *パッドスキャン
  11. 10100 IF PT=4 THEN CHAIN "CAMP.BAS",,ALL
  12. 10110 '
  13. 10120 ' Aボタン前進処理
  14. 10130 '
  15. 10140 'IF PT=1 THEN 
  16. 10150 '  IF K=2 THEN
  17. 10160 '    IF H=1 THEN Y=Y-1
  18. 10170 '    IF H=2 THEN X=X+1
  19. 10180 '    IF H=3 THEN Y=Y+1
  20. 10190 '    IF H=4 THEN X=X-1
  21. 10200 '  ELSE
  22. 10210 '    GOTO 10010
  23. 10220 '  ENDIF
  24. 10230 'ENDIF
  25. 10240 '
  26. 10250 ' 前進処理
  27. 10260 '
  28. 10270 IF P=1 THEN
  29. 10280   IF AHEAD_K=1 THEN GOSUB *壁に激突:GOTO *パッドスキャン
  30. 10290   IF H=1 THEN Y=Y-1
  31. 10300   IF H=2 THEN X=X+1
  32. 10310   IF H=3 THEN Y=Y+1
  33. 10320   IF H=4 THEN X=X-1
  34. 10330 ENDIF
  35. 10340 IF P=5 THEN
  36. 10350   IF REAR_K=1 THEN GOSUB *壁に激突:GOTO *パッドスキャン
  37. 10360   IF H=1 THEN Y=Y+1
  38. 10370   IF H=2 THEN X=X-1
  39. 10380   IF H=3 THEN Y=Y-1
  40. 10390   IF H=4 THEN X=X+1
  41. 10400 ENDIF
  42. 10410 '
  43. 10420 ' 右折/右カニ/左折/左カニ処理
  44. 10430 '
  45. 10440 IF P=3 THEN
  46. 10450   IF PT=2 THEN
  47. 10460     IF RIGHT_K=1 THEN GOSUB *壁に激突:GOTO *パッドスキャン
  48. 10470     IF H=1 THEN X=X+1
  49. 10480     IF H=2 THEN Y=Y+1
  50. 10490     IF H=3 THEN X=X-1
  51. 10500     IF H=4 THEN Y=Y-1
  52. 10510   ENDIF
  53. 10520   IF PT=0 THEN
  54. 10530     H=H+1
  55. 10540   ENDIF
  56. 10550 ENDIF
  57. 10560 IF P=7 THEN
  58. 10570   IF PT=2 THEN
  59. 10580     IF LEFT_K=1 THEN GOSUB *壁に激突:GOTO *パッドスキャン
  60. 10590     IF H=1 THEN X=X-1
  61. 10600     IF H=2 THEN Y=Y-1
  62. 10610     IF H=3 THEN X=X+1
  63. 10620     IF H=4 THEN Y=Y+1
  64. 10630   ENDIF
  65. 10640   IF PT=0 THEN 
  66. 10650     H=H+3
  67. 10660   ENDIF
  68. 10670 ENDIF
  69. 10680 '
  70. 10690 ' H のトラップ
  71. 10700 '
  72. 10710 IF H>=5 THEN H=H-4
  73. 10720 '
  74. 10730 GOSUB *HP回復処理
  75. 10740 CHAIN "DRAW_FLS.BAS",,ALL
  76. 10750 *壁に激突
  77. 10760 BEEP
  78. 10770 RETURN
  79. 10780 '
  80. 10790 *HP回復処理
  81. 10800 '
  82. 10810 FOR L=1 TO 6
  83. 10820 IF INT(RND(1)*6)+1+INT(RND(1)*6)+1=7 THEN
  84. 10830   IF HP(L)<MHP(L) THEN HP(L)=HP(L)+SEIM(L)
  85. 10840 ENDIF
  86. 10850 NEXT L
  87. 10860 RETURN
  88.